package com.yunji.cabinet.dao;

import com.yunji.cabinet.bo.UpgradeInfoListBO;
import com.yunji.cabinet.domain.UpgradeInfoDO;
import com.yunji.cabinet.params.UpgradeInfoParam;
import com.yunji.common.base.IBaseDao;
import com.yunji.common.base.IModifyStatusBaseBO;

import java.util.List;

public interface IUpgradeInfoDao extends IBaseDao<UpgradeInfoDO> {
    boolean checkWaitInfo(String taskCode);

    boolean startTask(Long infoId);

    List<UpgradeInfoDO> search(UpgradeInfoListBO bo);

    Integer countNumsByStatus(String taskCode, Integer status);

    List<UpgradeInfoDO> searchPageList(UpgradeInfoParam param);

    boolean modifyWhetherRetry(IModifyStatusBaseBO iModifyStatusBaseBO);

    boolean checkCancel(Long infoId);

    boolean closeTaskByTaskCode(String taskCode);

    List<UpgradeInfoDO> getUpgradeInfoList(UpgradeInfoListBO infoListBO);
}
